package com.itjavas.cslp2.service.impl;
import com.itjavas.cslp2.mapper.CourseMapper;
import com.itjavas.cslp2.pojo.entity.Course;
import com.itjavas.cslp2.pojo.entity.User;
import com.itjavas.cslp2.service.CourseService;
import jakarta.servlet.http.PushBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.concurrent.locks.ReentrantLock;
@Service
//@Service 注解用于告诉 Spring 框架，被注解的类是一个服务组件，需要被 Spring 容器扫描并管理。
//当 Spring 启动时，会自动扫描带有 @Service 注解的类，并将其实例化为 Bean，放入 Spring 容器中进行管理。
//依赖注入：
//在 Spring 中，服务组件通常包含业务逻辑，它们可能需要依赖其他组件（如数据访问对象、其他服务等）来完成任务。
//使用 @Service 注解标识服务组件后，可以使用 @Autowired 注解将其他组件注入到当前服务组件中，
//以实现依赖注入，从而更方便地组织和管理应用的各个组件
   public class CourseServiceImpl implements CourseService {
   @Autowired
   public CourseMapper courseMapper;
   //创建课程
   public ResponseEntity<Boolean> createCourse(Course course){
      return ResponseEntity.ok(courseMapper.createCourse(course));
   }

   //查询所有课程
   public List<Course> findAllCourse(){
      return courseMapper.findAllCourse();
   }

   //编辑已有课程
   public ResponseEntity<Boolean> editCourse(Course course){
      return ResponseEntity.ok(courseMapper.editCourse(course));
   }

   //删除课程
   public ResponseEntity<Boolean> deleteCourse(String courseId){
      return ResponseEntity.ok(courseMapper.delete(courseId));
   }

   //审核用户上传的资料
   public ResponseEntity<Boolean> examMaterial(Course course){
      return ResponseEntity.ok(courseMapper.examMaterial(course));
   }
}
